AWS SDK for Python を使用してAmazon Connectのキューとルーティングプロファイルを一括削除する方法
こんにちは。
繁松です。
はじめに
Amazon Connectのキューとルーティングプロファイルは、コンソールから削除することができません。
削除するにはAWS CLI等のコマンドを利用する必要があります。
AWS CLIの場合はリソースのIDを確認しながら削除する必要があるので、複数のリソースをまとめて削除したい場合には手間がかかります。
今回はAWS SDK for Python を使用してインスタンス内のキューとルーティングプロファイルをまとめて削除する方法を紹介します。
キューの削除
キューを削除する対象のインスタンスのIDを確認しスクリプト内で指定します。
インスタンスからキューの一覧を取得し、すべてのキューを削除する内容になっています。
import boto3
def delete_queues(instance_id, region_name='ap-northeast-1'):
# boto3クライアントの作成
connect = boto3.client('connect', region_name=region_name)
# キューの一覧を取得
list_queues = connect.list_queues(
InstanceId=instance_id,
QueueTypes=[
'STANDARD'
]
)['QueueSummaryList']
# キューを削除
for queue in list_queues:
queue_id = queue['Id']
try:
connect.delete_queue(
InstanceId=instance_id,
QueueId=queue_id
)
print(f"{queue['Name']}を削除しました。")
except Exception as e:
print(f"{queue['Name']}の削除に失敗しました。: {e}")
# インスタンスIDを指定
instance_id = 'Amazon Connect インスタンスID'
delete_queues(instance_id)
実行前
実行後
クイック接続とルーティングプロファイルに設定されているキューは削除されません。
フローに設定されているキューは削除されます。
ルーティングプロファイルの削除
ルーティングプロファイルを削除する対象のインスタンスのIDを確認しスクリプト内で指定します。
インスタンスからルーティングプロファイルの一覧を取得し、すべてのルーティングプロファイルを削除する内容になっています。
import boto3
def delete_routing_profiles(instance_id, region_name='ap-northeast-1'):
# boto3クライアントの作成
connect = boto3.client('connect', region_name=region_name)
# ルーティングプロファイル一覧を取得
list_routing_profiles = connect.list_routing_profiles(
InstanceId=instance_id,
)['RoutingProfileSummaryList']
# ルーティングプロファイルを削除
for routing_profile in list_routing_profiles:
routing_profile_id = routing_profile['Id']
try:
connect.delete_routing_profile(
InstanceId=instance_id,
RoutingProfileId=routing_profile_id
)
print(f"{routing_profile['Name']}を削除しました。")
except Exception as e:
print(f"{routing_profile['Name']}の削除に失敗しました。: {e}")
# インスタンスIDを指定
instance_id = 'Amazon Connect インスタンスID'
delete_routing_profiles(instance_id)
実行前
実行後
エージェントに設定されているルーティングプロファイルは削除されません。
さいごに
設定されているキュー、ルーティングプロファイルは削除されません。
検証環境でキューやルーティングプロファイルをまとめて削除したい場合に役立ちます。
以上、キューとルーティングプロファイルの削除についてでした。